home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "compile_to_c.h"
- T0 * rT92name(T92 *C,int a1){
- T0 * R=NULL;
- R=((T94*)rT96item((T96*)(C)->_flat_list,a1))->_name;
- return R;
- }
- T0 * rT92type(T92 *C,int a1){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_run_types)) {
- R=rT106item((T106*)(C)->_run_types,a1);
- }
- else {
- R=((T94*)rT96item((T96*)(C)->_flat_list,a1))->_type;
- }
- /*FI*/return R;
- }
- T0 * rT92to_runnable(T92 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _t2=NULL;
- T0 * _t1=NULL;
- int _i=0;
- /*IF*/if (!((C)->_run_types)) {
- R=(T0 *)C;
- {T106 *n=((T106*)new(106));
- rT106make(n,1,((T96*)(C)->_flat_list)->_upper);
- C->_run_types=(T0 *)n;}
- _i=1;
- while (!((_i)>(((T106*)(C)->_run_types)->_upper))) {
- _t1=((T94*)rT96item((T96*)(C)->_flat_list,_i))->_type;
- _t2=XrT58to_runnable(_t1,a1);
- /*IF*/if (!(_t2)) {
- rT92error(XrT58start_position(_t1),(T0 *)ms514);
- }
- else {
- rT106put((T106*)(C)->_run_types,_t2,_i);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- else {
- R=rT92to_runnable((T92*)rT92clone(C,(T0 *)C),a1);
- }
- /*FI*/return R;
- }
- int rT92count(T92 *C){
- int R=0;
- R=((T96*)(C)->_flat_list)->_upper;
- return R;
- }
- void rT92error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- int rT92rank_of(T92 *C,T0 * a1){
- int R=0;
- T0* _ns=NULL;
- _ns=XrT49to_string(a1);
- R=rT92count(C);
- while (!(((R)==(0))||(rT7is_equal((T7*)_ns,XrT49to_string(rT92name(C,R)))))) {
- R=(R)-(1);
- }
- return R;
- }
- void rT92super_make(T92 *C,T0 * a1,T0* a2){
- int _actual_count=0;
- int _ifl=0;
- int _il=0;
- C->_start_position=a1;
- C->_list=a2;
- _il=1;
- while (!((_il)>(XrT143upper((C)->_list)))) {
- _actual_count=(_actual_count)+(XrT95count(XrT143item((C)->_list,_il)));
- _il=(_il)+(1);
- }
- {T96 *n=((T96*)new(96));
- rT96make(n,1,_actual_count);
- C->_flat_list=(T0 *)n;}
- _ifl=1;
- _il=1;
- while (!((_il)>(XrT143upper((C)->_list)))) {
- _ifl=XrT95put_into(XrT143item((C)->_list,_il),(C)->_flat_list,_ifl);
- _il=(_il)+(1);
- }
- }
- T0* rT92clone(T92 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT92compile_to_c_in(T92 *C,T0* a1){
- int _i=0;
- _i=1;
- while (!((_i)>(rT92count(C)))) {
- XrT58c_type_in(XrT58run_type(rT92type(C,_i)),a1);
- rT7append((T7*)a1,(T0 *)ms1364);
- rT2append_in(_i,a1);
- _i=(_i)+(1);
- /*IF*/if ((_i)<=(rT92count(C))) {
- rT7extend((T7*)a1,'\54');
- }
- /*FI*/}
- }
- void rT92copy(T92 *C,T0 * a1){
- C->_start_position=((T92*)a1)->_start_position;
- C->_list=((T92*)a1)->_list;
- C->_flat_list=((T92*)a1)->_flat_list;
- }
- int rT92is_a_in(T92 *C,T0 * a1,T0 * a2){
- int R=0;
- T0 * _t2=NULL;
- T0 * _t1=NULL;
- int _i=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if ((rT92count((T92*)a1))!=(rT92count(C))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(((T92*)a1)->_start_position);
- rT92error((C)->_start_position,(T0 *)ms492);
- }
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- R=1;
- _i=1;
- while (!((!(R))||((_i)>(((T96*)(C)->_flat_list)->_upper)))) {
- _t1=((T94*)rT96item((T96*)(C)->_flat_list,_i))->_type;
- _t2=((T94*)rT96item((T96*)((T92*)a1)->_flat_list,_i))->_type;
- /*IF*/if (!(XrT58is_a_in(_t1,_t2,a2))) {
- R=0;
- rT45print_as_error((T45*)oRBC27eh);
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT58start_position(_t1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT58start_position(_t2));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms493);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/return R;
- }
- void rT92make(T92 *C,T0 * a1,T0* a2){
- int _rank=0;
- int _i=0;
- T0 * _tla=NULL;
- T0 * _an=NULL;
- T0 * _tlf=NULL;
- T0 * _d1=NULL;
- rT92super_make(C,a1,a2);
- _i=1;
- while (!((_i)>(((T96*)(C)->_flat_list)->_upper))) {
- _d1=rT96item((T96*)(C)->_flat_list,_i);
- _tlf=((T94*)_d1)->_type;
- if ((int)_tlf) switch (((T0 *)_tlf)->id) {
- case 99:
- break;
- default:
- _tlf = NULL;
- };/*IF*/if (((int)_tlf)) {
- _rank=rT92rank_of(C,((T99*)_tlf)->_like_what);
- /*IF*/if ((_rank)==(_i)) {
- rT92error(((T99*)_tlf)->_start_position,(T0 *)ms262);
- }
- else if ((_rank)>(0)) {
- {T88 *n=((T88*)new(88));
- rT88make(n,XrT67start_position(((T99*)_tlf)->_like_what),XrT67to_string(((T99*)_tlf)->_like_what),_rank);
- _an=(T0 *)n;}
- {T98 *n=((T98*)new(98));
- rT98make(n,((T99*)_tlf)->_start_position,_an);
- _tla=(T0 *)n;}
- /*(IRF3*/(((T94*)_d1)->_type)=(_tla);
- /*)*/}
- /*FI*/}
- /*FI*/_i=(_i)+(1);
- }
- }
- void rT85fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- int rT85count(T85 *C){
- int R=0;
- R=((T86*)(C)->_list)->_upper;
- return R;
- }
- T0 * rT85item(T85 *C,int a1){
- T0 * R=NULL;
- R=rT86item((T86*)(C)->_list,a1);
- return R;
- }
- int rT85index_of(T85 *C,T0 * a1){
- int R=0;
- T0* _to_string=NULL;
- _to_string=((T48*)a1)->_to_string;
- R=((T86*)(C)->_list)->_upper;
- while (!(((R)==(0))||(((T0 *)_to_string)==((T0 *)((T48*)((T84*)rT86item((T86*)(C)->_list,R))->_name)->_to_string)))) {
- R=(R)-(1);
- }
- return R;
- }
- void rT85copy(T85 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT85make(T85 *C,T0 * a1,T0* a2){
- T0 * _fga=NULL;
- int _i=0;
- int _rank=0;
- C->_start_position=a1;
- C->_list=a2;
- _i=((T86*)a2)->_upper;
- while (!((_i)==(0))) {
- _fga=rT86item((T86*)a2,_i);
- _rank=rT85index_of(C,((T84*)_fga)->_name);
- /*IF*/if ((_rank)!=(_i)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT84start_position((T84*)rT86item((T86*)a2,_rank)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT84start_position((T84*)_fga));
- rT85fatal_error((T0 *)ms221);
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- T0 * rT84start_position(T84 *C){
- T0 * R=NULL;
- R=((T48*)(C)->_name)->_start_position;
- return R;
- }
- void rT84copy(T84 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT84make(T84 *C,T0 * a1,T0 * a2){
- C->_name=a1;
- C->_constraint=a2;
- }
- int rT67static_value(T67 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- int rT67same_as(T67 *C,T0 * a1){
- int R=0;
- R=rT7is_equal((T7*)rT67to_key(C),XrT49to_key(a1));
- return R;
- }
- void rT67fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT67to_runnable(T67 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _rf=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- _rf=rT260get_feature((T260*)XrT58run_class((C)->_current_type),(T0 *)C);
- /*IF*/if (!(_rf)) {
- rT67error((C)->_start_position,(T0 *)ms1110);
- }
- else if (XrT261is_writable(_rf)) {
- C->_result_type=XrT261result_type(_rf);
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position(_rf));
- rT67error((C)->_start_position,(T0 *)ms1111);
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- else {
- rT67error((C)->_start_position,(T0 *)ms1112);
- }
- /*FI*/}
- else if (((T0 *)a1)==((T0 *)(C)->_current_type)) {
- R=(T0 *)C;
- }
- else if (rT7is_equal((T7*)XrT58run_time_mark(a1),XrT58run_time_mark((C)->_current_type))) {
- rT67error((C)->_start_position,(T0 *)ms1113);
- /*UT*/(T45*)oRBC27eh;
- rT45add_type(a1,(T0 *)ms1114);
- /*UT*/(T45*)oRBC27eh;
- rT45add_type((C)->_current_type,(T0 *)ms1115);
- rT45print_as_error((T45*)oRBC27eh);
- }
- else {
- {T67 *n=((T67*)new(67));
- rT67make(n,(C)->_to_string,(C)->_start_position);
- R=(T0 *)n;}
- R=XrT67to_runnable(R,a1);
- }
- /*FI*/return R;
- }
- void rT67error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT67add_comment(T67 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- int rT67is_equal(T67 *C,T0 * a1){
- int R=0;
- R=rT67standard_is_equal(C,a1);
- return R;
- }
- T0* rT67to_key(T67 *C){
- T0* R=NULL;
- R=(C)->_to_string;
- return R;
- }
- int rT67can_be_dropped(T67 *C){
- int R=0;
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT67fatal_error((T0 *)ms1520);
- return R;
- }
- void rT67mapping_c_aux(T67 *C,T0* a1){
- int _i=0;
- _i=1;
- while (!((_i)>(((T7*)(C)->_to_string)->_count))) {
- rT2append_in(((unsigned char)rT7item((T7*)(C)->_to_string,_i)),a1);
- _i=(_i)+(1);
- }
- }
- void rT67mapping_c_in(T67 *C,T0* a1){
- /*IF*/if (/*(IRF4*/0/*)*/) {
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms102,(C)->_to_string)) {
- rT7append((T7*)a1,(C)->_to_string);
- }
- else {
- rT7append((T7*)a1,(T0 *)ms798);
- rT67mapping_c_aux(C,a1);
- }
- /*FI*/}
- else if (/*(IRF4*/0/*)*/) {
- rT7append((T7*)a1,(T0 *)ms799);
- rT67mapping_c_aux(C,a1);
- }
- else {
- rT7append((T7*)a1,(C)->_to_string);
- }
- /*FI*/}
- T0*oRBC67mapping_c_mem;
- void rT67mapping_c(T67 *C){
- /*(IRF3*/(((T7*)oRBC67mapping_c_mem)->_count)=(0);
- /*)*/rT67mapping_c_in(C,oRBC67mapping_c_mem);
- rT40put_string((T40*)oRBC27cpp,oRBC67mapping_c_mem);
- }
- void rT67compile_to_c(T67 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1156);
- rT40put_string((T40*)oRBC27cpp,(C)->_to_string);
- }
- int rT67to_integer(T67 *C){
- int R=0;
- rT67error((C)->_start_position,(T0 *)ms175);
- return R;
- }
- T0* rT67to_err_msg(T67 *C){
- T0* R=NULL;
- R=rT67to_err2(C);
- rT7prepend((T7*)R,(T0 *)ms1432);
- return R;
- }
- T0* rT67to_err1(T67 *C){
- T0* R=NULL;
- {T7 *n=((T7*)new(7));
- rT7copy(n,(C)->_to_string);
- R=(T0 *)n;}
- rT7precede((T7*)R,'\140');
- rT7extend((T7*)R,'\47');
- return R;
- }
- T0* rT67to_err2(T67 *C){
- T0* R=NULL;
- R=rT67to_err1(C);
- /*IF*/if (((int)(C)->_start_position)) {
- rT7append((T7*)R,(T0 *)ms462);
- rT7append((T7*)R,rT46to_err_msg((T46*)(C)->_start_position));
- rT7append((T7*)R,(T0 *)ms466);
- }
- /*FI*/return R;
- }
- T0* rT67to_err_msg2(T67 *C){
- T0* R=NULL;
- R=rT67to_err2(C);
- return R;
- }
- T0 * rT67run_feature(T67 *C,T0 * a1){
- T0 * R=NULL;
- R=rT260get_feature((T260*)XrT58run_class(a1),(T0 *)C);
- return R;
- }
- int rT67standard_is_equal(T67 *C,T0 * a1){
- int R=0;
- /*IF*//*AF*/if (((T0 *)a1)==((T0 *)C)) {
- R=1;
- }
- else {
- R=!memcmp(C,a1,s[C->id]);
- }
- /*FI*/return R;
- }
- T0 * rT67written_in(T67 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=(C)->_start_position;
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT67copy(T67 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT67is_a(T67 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT67error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT67make(T67 *C,T0* a1,T0 * a2){
- C->_to_string=a1;
- C->_start_position=a2;
- }
- int rT128count(T128 *C){
- int R=0;
- R=((T129*)(C)->_list)->_upper;
- return R;
- }
- void rT128error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT128item(T128 *C,int a1){
- T0 * R=NULL;
- R=rT129item((T129*)(C)->_list,a1);
- return R;
- }
- int rT128index_of(T128 *C,T0 * a1){
- int R=0;
- T0* _fn_key=NULL;
- _fn_key=XrT67to_key(a1);
- R=1;
- while (!(((R)>(rT128count(C)))||(rT7is_equal((T7*)_fn_key,XrT67to_key(rT128item(C,R)))))) {
- R=(R)+(1);
- }
- return R;
- }
- void rT128copy(T128 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT128has(T128 *C,T0 * a1){
- int R=0;
- R=(rT128index_of(C,a1))<=(((T129*)(C)->_list)->_upper);
- return R;
- }
- void rT128make(T128 *C,T0* a1){
- int _i2=0;
- int _i=0;
- C->_list=a1;
- _i=((T129*)a1)->_upper;
- while (!((_i)==(0))) {
- _i2=rT128index_of(C,rT129item((T129*)a1,_i));
- /*IF*/if ((_i2)!=(_i)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT129item((T129*)a1,_i2)));
- rT128error(XrT67start_position(rT129item((T129*)a1,_i)),(T0 *)ms241);
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- void rT135add_into(T135 *C,T0 * a1){
- T0 * _f=NULL;
- int _i=0;
- /*IF*/if ((((int)(C)->_list))&&(!(XrT63empty((C)->_list)))) {
- _i=1;
- while (!((_i)>(XrT63upper((C)->_list)))) {
- _f=XrT63item((C)->_list,_i);
- XrT62set_clients(_f,(C)->_clients);
- XrT62add_into(_f,a1);
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT135copy(T135 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT135make(T135 *C,T0 * a1,T0 * a2,T0* a3){
- C->_clients=a1;
- C->_comment=a2;
- C->_list=a3;
- }
- void rT259c_define(T259 *C){
- int _id=0;
- _id=XrT58id((C)->_current_type);
- rT7copy((T7*)oRBC259cdm,(T0 *)ms768);
- rT2append_in(_id,oRBC259cdm);
- rT7append((T7*)oRBC259cdm,(T0 *)ms769);
- rT2append_in(_id,oRBC259cdm);
- rT7append((T7*)oRBC259cdm,(T0 *)ms770);
- rT2append_in(_id,oRBC259cdm);
- rT7append((T7*)oRBC259cdm,(T0 *)ms771);
- rT40put_c_heading((T40*)oRBC27cpp,oRBC259cdm);
- rT40swap_on_c((T40*)oRBC27cpp);
- rT7copy((T7*)oRBC259cdm,(T0 *)ms772);
- rT2append_in(_id,oRBC259cdm);
- rT7append((T7*)oRBC259cdm,(T0 *)ms773);
- rT40put_string((T40*)oRBC27cpp,oRBC259cdm);
- rT259compile_to_c(C);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms785);
- }
- void rT259add_into(T259 *C,T0* a1){
- T0 * _a=NULL;
- int _i=0;
- /*IF*/if (((int)(C)->_list)) {
- _i=1;
- while (!((_i)>(((T158*)(C)->_list)->_upper))) {
- _a=rT158item((T158*)(C)->_list,_i);
- /*IF*/if (!(rT158fast_has((T158*)a1,_a))) {
- rT158add_last((T158*)a1,_a);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT259from_runnable(T259 *C,T0* a1){
- C->_list=a1;
- C->_current_type=((T64*)rT158item((T158*)(C)->_list,1))->_current_type;
- }
- T0*oRBC259cdm;
- void rT259compile_to_c(T259 *C){
- int _i=0;
- /*(IRF3*/(((T40*)oRBC27cpp)->_check_assertion_mode)=(/*(IRF4*/(T0 *)ms774/*)*/);
- /*)*//*IF*/if (((int)(C)->_list)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms775);
- rT40put_string((T40*)oRBC27cpp,/*(IRF4*/(T0 *)ms774/*)*/);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms776);
- rT40put_string((T40*)oRBC27cpp,/*(IRF4*/(T0 *)ms774/*)*/);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms777);
- _i=1;
- while (!((_i)>(((T158*)(C)->_list)->_upper))) {
- rT64compile_to_c((T64*)rT158item((T158*)(C)->_list,_i));
- _i=(_i)+(1);
- }
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms783);
- rT40put_string((T40*)oRBC27cpp,/*(IRF4*/(T0 *)ms774/*)*/);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms784);
- }
- /*FI*/}
- void rT259copy(T259 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT259make(T259 *C,T0 * a1,T0 * a2,T0* a3){
- C->_start_position=a1;
- C->_header_comment=a2;
- C->_list=a3;
- }
- int rT66same_as(T66 *C,T0 * a1){
- int R=0;
- R=rT7is_equal((T7*)(C)->_to_key,XrT49to_key(a1));
- return R;
- }
- int rT66static_value(T66 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT66fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT66to_runnable(T66 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _rf=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- _rf=rT260get_feature((T260*)XrT58run_class((C)->_current_type),(T0 *)C);
- /*IF*/if (!(_rf)) {
- rT66error((C)->_start_position,(T0 *)ms1110);
- }
- else if (XrT261is_writable(_rf)) {
- C->_result_type=XrT261result_type(_rf);
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT261start_position(_rf));
- rT66error((C)->_start_position,(T0 *)ms1111);
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- else {
- rT66error((C)->_start_position,(T0 *)ms1112);
- }
- /*FI*/}
- else if (((T0 *)a1)==((T0 *)(C)->_current_type)) {
- R=(T0 *)C;
- }
- else if (rT7is_equal((T7*)XrT58run_time_mark(a1),XrT58run_time_mark((C)->_current_type))) {
- rT66error((C)->_start_position,(T0 *)ms1113);
- /*UT*/(T45*)oRBC27eh;
- rT45add_type(a1,(T0 *)ms1114);
- /*UT*/(T45*)oRBC27eh;
- rT45add_type((C)->_current_type,(T0 *)ms1115);
- rT45print_as_error((T45*)oRBC27eh);
- }
- else {
- {T66 *n=((T66*)new(66));
- rT66make(n,(C)->_to_string,(C)->_start_position);
- R=(T0 *)n;}
- R=rT66to_runnable((T66*)R,a1);
- }
- /*FI*/return R;
- }
- void rT66error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT66add_comment(T66 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- int rT66is_equal(T66 *C,T0 * a1){
- int R=0;
- R=rT66standard_is_equal(C,a1);
- return R;
- }
- T0* rT66clone(T66 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- int rT66can_be_dropped(T66 *C){
- int R=0;
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT66fatal_error((T0 *)ms1520);
- return R;
- }
- void rT66mapping_c(T66 *C){
- /*(IRF3*/(((T7*)oRBC67mapping_c_mem)->_count)=(0);
- /*)*/rT66mapping_c_in(C,oRBC67mapping_c_mem);
- rT40put_string((T40*)oRBC27cpp,oRBC67mapping_c_mem);
- }
- void rT66mapping_c_in(T66 *C,T0* a1){
- /*IF*//*AF*/{/*AT*/rT7append((T7*)a1,(T0 *)ms799);
- rT66mapping_c_aux(C,a1);
- }
- /*FI*/}
- void rT66mapping_c_aux(T66 *C,T0* a1){
- int _i=0;
- _i=1;
- while (!((_i)>(((T7*)(C)->_to_string)->_count))) {
- rT2append_in(((unsigned char)rT7item((T7*)(C)->_to_string,_i)),a1);
- _i=(_i)+(1);
- }
- }
- void rT66compile_to_c(T66 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1156);
- rT40put_string((T40*)oRBC27cpp,(C)->_to_string);
- }
- int rT66to_integer(T66 *C){
- int R=0;
- rT66error((C)->_start_position,(T0 *)ms175);
- return R;
- }
- T0* rT66to_err_msg2(T66 *C){
- T0* R=NULL;
- R=rT66to_err2(C);
- return R;
- }
- T0* rT66to_err1(T66 *C){
- T0* R=NULL;
- {T7 *n=((T7*)new(7));
- rT7copy(n,(C)->_to_string);
- R=(T0 *)n;}
- rT7precede((T7*)R,'\140');
- rT7extend((T7*)R,'\47');
- return R;
- }
- T0* rT66to_err2(T66 *C){
- T0* R=NULL;
- R=rT66to_err1(C);
- /*IF*/if (((int)(C)->_start_position)) {
- rT7append((T7*)R,(T0 *)ms462);
- rT7append((T7*)R,rT46to_err_msg((T46*)(C)->_start_position));
- rT7append((T7*)R,(T0 *)ms466);
- }
- /*FI*/return R;
- }
- T0* rT66to_err_msg(T66 *C){
- T0* R=NULL;
- R=rT66to_err2(C);
- rT7prepend((T7*)R,(T0 *)ms1432);
- return R;
- }
- T0 * rT66written_in(T66 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=(C)->_start_position;
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- T0 * rT66run_feature(T66 *C,T0 * a1){
- T0 * R=NULL;
- R=rT260get_feature((T260*)XrT58run_class(a1),(T0 *)C);
- return R;
- }
- int rT66standard_is_equal(T66 *C,T0 * a1){
- int R=0;
- /*IF*//*AF*/if (((T0 *)a1)==((T0 *)C)) {
- R=1;
- }
- else {
- R=!memcmp(C,a1,s[C->id]);
- }
- /*FI*/return R;
- }
- void rT66copy(T66 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT66is_a(T66 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT66error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT66make(T66 *C,T0* a1,T0 * a2){
- C->_to_string=a1;
- C->_start_position=a2;
- C->_to_key=rT66clone(C,(C)->_to_string);
- rT7append((T7*)(C)->_to_key,(T0 *)ms85);
- }
- void rT48set_with(T48 *C,T0 * a1){
- C->_start_position=((T48*)a1)->_start_position;
- rT48set_to_string(C,((T48*)a1)->_to_string);
- }
- int rT48is_subclass_of(T48 *C,T0 * a1){
- int R=0;
- /*IF*/if (((T0 *)(T0 *)ms183)==((T0 *)((T48*)a1)->_to_string)) {
- R=1;
- }
- else if (((T0 *)(T0 *)ms185)==((T0 *)((T48*)a1)->_to_string)) {
- }
- else {
- R=rT50is_subclass_of((T50*)rT48base_class(C),rT48base_class((T48*)a1));
- }
- /*FI*/return R;
- }
- int rT48frozen_id(T48 *C){
- int R=0;
- /*IF*/if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms184)) {
- R=1;
- }
- else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms194)) {
- R=2;
- }
- else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms191)) {
- R=3;
- }
- else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms196)) {
- R=4;
- }
- else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms198)) {
- R=5;
- }
- else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms189)) {
- R=6;
- }
- else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms188)) {
- R=7;
- }
- else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms186)) {
- R=8;
- }
- /*FI*/return R;
- }
- void rT48error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0* rT48clone(T48 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0* rT48to_key(T48 *C){
- T0* R=NULL;
- R=(C)->_to_string;
- return R;
- }
- T0*oRBC48special_names;
- int ofBC48names_memory=0;
- T0*oRBC48names_memory;
- T0* rT48names_memory(/*C*/void){
- T0* R=NULL;
- if (ofBC48names_memory==0){
- ofBC48names_memory=1;
- {T41 *n=((T41*)new(41));
- rT41make(n,1,256);
- R=(T0 *)n;}
- rT41copy((T41*)R,oRBC48special_names);
- oRBC48names_memory=R;}
- return oRBC48names_memory;}
- T0* rT48to_err_msg(T48 *C){
- T0* R=NULL;
- {T7 *n=((T7*)new(7));
- rT7copy(n,(T0 *)ms458);
- R=(T0 *)n;}
- rT7append((T7*)R,(C)->_to_string);
- return R;
- }
- T0* rT48to_err_msg2(T48 *C){
- T0* R=NULL;
- T0 * _c=NULL;
- R=rT48to_err_msg(C);
- /*IF*/if (!(/*(IRF4*/((T51*)oRBC27eiffel_parser)->_is_running/*)*/)) {
- _c=rT48base_class(C);
- /*IF*/if (((int)_c)) {
- rT7append((T7*)R,(T0 *)ms459);
- rT7append((T7*)R,((T50*)_c)->_path);
- rT7append((T7*)R,(T0 *)ms460);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT48base_class(T48 *C){
- T0 * R=NULL;
- R=rT52base_class((T52*)oRBC27small_eiffel,(T0 *)C);
- return R;
- }
- void rT48copy(T48 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT48is_a(T48 *C,T0 * a1){
- int R=0;
- T0 * _bc2=NULL;
- T0 * _bc1=NULL;
- T0* _to_string2=NULL;
- _to_string2=((T48*)a1)->_to_string;
- /*IF*/if (((T0 *)(T0 *)ms183)==((T0 *)_to_string2)) {
- R=1;
- }
- else if (((T0 *)(C)->_to_string)==((T0 *)_to_string2)) {
- R=1;
- }
- else if (((T0 *)(T0 *)ms185)==((T0 *)_to_string2)) {
- }
- else {
- _bc1=rT48base_class(C);
- _bc2=rT48base_class((T48*)a1);
- /*IF*/if (!(_bc1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1124);
- /*UT*/(T45*)oRBC27eh;
- rT45append((C)->_to_string);
- rT48error((C)->_start_position,(T0 *)ms38);
- }
- else if (!(_bc2)) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1125);
- /*UT*/(T45*)oRBC27eh;
- rT45append(_to_string2);
- rT48error((C)->_start_position,(T0 *)ms38);
- }
- else {
- R=rT50is_subclass_of((T50*)_bc1,_bc2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT48make_unknown(T48 *C){
- {T46 *n=((T46*)new(46));
- rT46with(n,1,1,(T0 *)C);
- C->_start_position=(T0 *)n;}
- C->_to_string=(T0 *)ms79;
- }
- void rT48make(T48 *C,T0* a1,T0 * a2){
- C->_start_position=a2;
- rT48set_to_string(C,a1);
- }
- void rT48set_to_string(T48 *C,T0* a1){
- T0* _mem=NULL;
- int _i=0;
- _mem=rT48names_memory();
- rT7copy((T7*)(T0 *)ms201,a1);
- rT7to_upper((T7*)(T0 *)ms201);
- _i=rT41index_of((T41*)_mem,(T0 *)ms201);
- /*IF*/if ((_i)<=(((T41*)_mem)->_upper)) {
- C->_to_string=rT41item((T41*)_mem,_i);
- }
- else {
- C->_to_string=rT48clone(C,(T0 *)ms201);
- rT41add_last((T41*)_mem,(C)->_to_string);
- }
- /*FI*/}
- T0 * rT118name_of(T118 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (!((C)->_rename_list)) {
- R=rT50name_of((T50*)XrT58base_class((C)->_type),a1,a2);
- }
- else {
- R=rT50name_of((T50*)XrT58base_class((C)->_type),a1,rT120to_new_name((T120*)(C)->_rename_list,a2));
- }
- /*FI*/return R;
- }
- void rT118set_undefine(T118 *C,T0* a1){
- {T128 *n=((T128*)new(128));
- rT128make(n,a1);
- C->_undefine_list=(T0 *)n;}
- }
- void rT118fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT118clients_for(T118 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (rT48is_a((T48*)XrT58base_class_name((C)->_type),XrT62base_class_name(a2))) {
- /*IF*/if (!((C)->_export_list)) {
- R=rT50clients_for((T50*)XrT58base_class((C)->_type),a1,a2);
- }
- else {
- R=rT122clients_for((T122*)(C)->_export_list,a1);
- /*IF*/if (!(R)) {
- /*IF*/if (!((C)->_rename_list)) {
- R=rT50clients_for((T50*)XrT58base_class((C)->_type),a1,a2);
- }
- else {
- R=rT50clients_for((T50*)XrT58base_class((C)->_type),rT120to_old_name((T120*)(C)->_rename_list,a1),a2);
- }
- /*FI*/}
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT118start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a2));
- rT45error((T45*)oRBC27eh,(T0 *)ms1126);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT118has_redefine(T118 *C,T0 * a1){
- int R=0;
- /*IF*/if (((int)(C)->_redefine_list)) {
- R=rT128has((T128*)(C)->_redefine_list,a1);
- }
- /*FI*/return R;
- }
- T0 * rT118start_position(T118 *C){
- T0 * R=NULL;
- R=XrT58start_position((C)->_type);
- return R;
- }
- int rT118has_select(T118 *C,T0 * a1){
- int R=0;
- /*IF*/if (((int)(C)->_select_list)) {
- R=rT128has((T128*)(C)->_select_list,a1);
- }
- /*FI*/return R;
- }
- void rT118collect_for(T118 *C,int a1,T0 * a2){
- T0 * _fn2=NULL;
- /*IF*/if ((!((C)->_rename_list))||(!(rT120affect((T120*)(C)->_rename_list,a2)))) {
- rT50collect_for((T50*)XrT58base_class((C)->_type),a1,a2);
- }
- else {
- _fn2=rT120to_old_name((T120*)(C)->_rename_list,a2);
- /*IF*/if (((T0 *)_fn2)!=((T0 *)a2)) {
- rT50collect_for((T50*)XrT58base_class((C)->_type),a1,_fn2);
- }
- /*FI*/}
- /*FI*/}
- int rT118has_undefine(T118 *C,T0 * a1){
- int R=0;
- /*IF*/if (((int)(C)->_undefine_list)) {
- R=rT128has((T128*)(C)->_undefine_list,a1);
- }
- /*FI*/return R;
- }
- void rT118get_started(T118 *C,T0 * a1){
- int _all_check=0;
- T0 * _fn2=NULL;
- T0 * _fn=NULL;
- T0 * _pbc=NULL;
- T0 * _wbc=NULL;
- int _i=0;
- _all_check=rT44all_check((T44*)oRBC27eiffel_run_control);
- C->_parent_list=a1;
- _pbc=XrT58base_class((C)->_type);
- _wbc=((T131*)(C)->_parent_list)->_base_class;
- /*IF*/if ((_all_check)&&(((int)(C)->_rename_list))) {
- rT120get_started((T120*)(C)->_rename_list,_pbc);
- }
- /*FI*//*IF*/if ((_all_check)&&(((int)(C)->_undefine_list))) {
- _i=rT128count((T128*)(C)->_undefine_list);
- while (!((_i)==(0))) {
- _fn=rT128item((T128*)(C)->_undefine_list,_i);
- /*IF*/if (!(rT50has((T50*)_pbc,_fn))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- rT118fatal_error((T0 *)ms421);
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*//*IF*/if ((_all_check)&&(((int)(C)->_redefine_list))) {
- _i=rT128count((T128*)(C)->_redefine_list);
- while (!((_i)==(0))) {
- _fn=rT128item((T128*)(C)->_redefine_list,_i);
- /*IF*/if (!(rT50proper_has((T50*)_wbc,_fn))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- rT118fatal_error((T0 *)ms422);
- }
- /*FI*//*IF*/if (!(rT50has((T50*)_pbc,_fn))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- rT118fatal_error((T0 *)ms423);
- }
- /*FI*//*IF*/if (((int)(C)->_rename_list)) {
- _fn2=rT120to_new_name((T120*)(C)->_rename_list,_fn);
- /*IF*/if (((T0 *)_fn2)!=((T0 *)_fn)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn2));
- rT118fatal_error((T0 *)ms424);
- }
- /*FI*/}
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*/}
- T0*oRBC118forbidden_parent_list;
- T0 * rT118look_up_for(T118 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _f=NULL;
- T0 * _fn2=NULL;
- /*IF*/if ((!((C)->_rename_list))||(!(rT120affect((T120*)(C)->_rename_list,a2)))) {
- _f=XrT58look_up_for((C)->_type,a1,a2);
- /*IF*/if (rT118has_undefine(C,a2)) {
- R=XrT62try_to_undefine(_f,a2,((T131*)(C)->_parent_list)->_base_class);
- }
- else {
- R=_f;
- }
- /*FI*/}
- else {
- _fn2=rT120to_old_name((T120*)(C)->_rename_list,a2);
- /*IF*/if (((T0 *)_fn2)!=((T0 *)a2)) {
- _f=XrT58look_up_for((C)->_type,a1,_fn2);
- /*IF*/if (rT118has_undefine(C,_fn2)) {
- R=XrT62try_to_undefine(_f,_fn2,((T131*)(C)->_parent_list)->_base_class);
- }
- else {
- R=_f;
- }
- /*FI*/}
- else {
- _f=XrT58look_up_for((C)->_type,a1,a2);
- /*IF*/if (!(_f)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(a2));
- rT118fatal_error((T0 *)ms486);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- void rT118add_rename(T118 *C,T0 * a1){
- /*IF*/if (!((C)->_rename_list)) {
- {T120 *n=((T120*)new(120));
- /*(IRF3*/((n)->_list)=(ma(121,0,1,a1));
- /*)*/C->_rename_list=(T0 *)n;}
- }
- else {
- rT120add_last((T120*)(C)->_rename_list,a1);
- }
- /*FI*/}
- void rT118copy(T118 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT118is_a(T118 *C,T0 * a1){
- int R=0;
- R=XrT58is_a((C)->_type,a1);
- return R;
- }
- int rT118has(T118 *C,T0 * a1){
- int R=0;
- R=rT50has((T50*)XrT58base_class((C)->_type),a1);
- return R;
- }
- void rT118set_redefine(T118 *C,T0* a1){
- {T128 *n=((T128*)new(128));
- rT128make(n,a1);
- C->_redefine_list=(T0 *)n;}
- }
- void rT118set_select(T118 *C,T0* a1){
- {T128 *n=((T128*)new(128));
- rT128make(n,a1);
- C->_select_list=(T0 *)n;}
- }
- void rT118make(T118 *C,T0 * a1){
- C->_type=a1;
- /*IF*/if (rT41fast_has((T41*)oRBC118forbidden_parent_list,XrT58written_mark((C)->_type))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT58start_position((C)->_type));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms226);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58written_mark((C)->_type));
- rT118fatal_error((T0 *)ms227);
- }
- /*FI*/}
- void rT126warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45warning((T45*)oRBC27eh,a2);
- }
- int rT126index_of(T126 *C,T0 * a1){
- int R=0;
- T0* _to_string=NULL;
- _to_string=XrT49to_string(a1);
- R=((T125*)(C)->_list)->_upper;
- while (!(((R)==(0))||(((T0 *)_to_string)==((T0 *)((T48*)rT125item((T125*)(C)->_list,R))->_to_string)))) {
- R=(R)-(1);
- }
- return R;
- }
- void rT126copy(T126 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT126gives_permission_to(T126 *C,T0 * a1){
- int R=0;
- int _i=0;
- /*IF*/if ((rT126index_of(C,a1))>(0)) {
- R=1;
- }
- else {
- _i=((T125*)(C)->_list)->_upper;
- while (!((R)||((_i)==(0)))) {
- R=rT48is_subclass_of((T48*)a1,rT125item((T125*)(C)->_list,_i));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void rT126make(T126 *C,T0* a1){
- int _i2=0;
- int _i=0;
- C->_list=a1;
- _i=((T125*)(C)->_list)->_upper;
- while (!((_i)==(0))) {
- _i2=rT126index_of(C,rT125item((T125*)(C)->_list,_i));
- /*IF*/if ((_i2)!=(_i)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(((T48*)rT125item((T125*)(C)->_list,_i2))->_start_position);
- rT126warning(((T48*)rT125item((T125*)(C)->_list,_i))->_start_position,(T0 *)ms237);
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- T0 * rT131name_of(T131 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _bc=NULL;
- T0 * _p=NULL;
- int _i=0;
- /*IF*/if (!((C)->_list)) {
- R=rT50name_of((T50*)rT131class_with((T0 *)ms183),a1,a2);
- }
- else {
- _i=1;
- while (!(((int)R))) {
- _p=rT130item((T130*)(C)->_list,_i);
- _bc=XrT58base_class(((T118*)_p)->_type);
- /*IF*/if ((((T0 *)_bc)==((T0 *)a1))||(rT50is_subclass_of((T50*)_bc,a1))) {
- R=rT118name_of((T118*)_p,a1,a2);
- }
- else {
- _i=(_i)+(1);
- }
- /*FI*/}
- }
- /*FI*/return R;
- }
- void rT131fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- int rT131count(T131 *C){
- int R=0;
- R=((T130*)(C)->_list)->_upper;
- return R;
- }
- void rT131error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT131clients_for(T131 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _c=NULL;
- int _i=0;
- _i=1;
- while (!((_i)>(((T130*)(C)->_list)->_upper))) {
- _c=rT118clients_for((T118*)rT130item((T130*)(C)->_list,_i),a1,a2);
- /*IF*/if (!(_c)) {
- }
- else if (!(R)) {
- R=_c;
- }
- else {
- R=rT123merge_with((T123*)R,_c,a1,a2);
- }
- /*FI*/_i=(_i)+(1);
- }
- return R;
- }
- int rT131has_parent(T131 *C,T0 * a1){
- int R=0;
- T0 * _bc=NULL;
- int _i=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- _i=1;
- while (!(((R)||((_i)>(((T130*)(C)->_list)->_upper)))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0)))) {
- _bc=XrT58base_class(((T118*)rT130item((T130*)(C)->_list,_i))->_type);
- /*IF*/if (((int)_bc)) {
- /*IF*/if (((T0 *)_bc)==((T0 *)rT56first((T56*)oRBC50visited))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms468);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)rT56first((T56*)oRBC50visited))->_base_class_name)->_to_string);
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms469);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)rT131base_class_name(C))->_to_string);
- rT131error(XrT58start_position(((T118*)rT130item((T130*)(C)->_list,_i))->_type),(T0 *)ms38);
- }
- else if (((T0 *)a1)==((T0 *)_bc)) {
- R=1;
- }
- else if (rT56fast_has((T56*)oRBC50visited,_bc)) {
- }
- else {
- R=rT50is_subclass_of_aux((T50*)_bc,a1);
- }
- /*FI*/}
- /*FI*/_i=(_i)+(1);
- }
- return R;
- }
- int rT131has_redefine(T131 *C,T0 * a1){
- int R=0;
- int _i=0;
- _i=1;
- while (!((R)||((_i)>(((T130*)(C)->_list)->_upper)))) {
- R=rT118has_redefine((T118*)rT130item((T130*)(C)->_list,_i),a1);
- _i=(_i)+(1);
- }
- return R;
- }
- T0 * rT131super(T131 *C){
- T0 * R=NULL;
- R=rT130first((T130*)(C)->_list);
- return R;
- }
- void rT131collect_for(T131 *C,int a1,T0 * a2){
- int _i=0;
- _i=1;
- while (!((_i)>(((T130*)(C)->_list)->_upper))) {
- rT118collect_for((T118*)rT130item((T130*)(C)->_list,_i),a1,a2);
- _i=(_i)+(1);
- }
- }
- void rT131collect_invariant(T131 *C,T0 * a1){
- int _i=0;
- _i=1;
- while (!((_i)>(((T130*)(C)->_list)->_upper))) {
- rT50collect_invariant((T50*)XrT58base_class(((T118*)rT130item((T130*)(C)->_list,_i))->_type),a1);
- _i=(_i)+(1);
- }
- }
- void rT131get_started(T131 *C){
- int _i=0;
- _i=1;
- while (!((_i)>(((T130*)(C)->_list)->_upper))) {
- rT118get_started((T118*)rT130item((T130*)(C)->_list,_i),(T0 *)C);
- _i=(_i)+(1);
- }
- }
- T0 * rT131look_up_for(T131 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _p_result=NULL;
- T0 * _p_f=NULL;
- T0 * _f=NULL;
- int _i=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- _i=1;
- while (!(((_i)>(((T130*)(C)->_list)->_upper))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0)))) {
- _p_f=rT130item((T130*)(C)->_list,_i);
- _i=(_i)+(1);
- _f=rT118look_up_for((T118*)_p_f,a1,a2);
- /*IF*/if (!(_f)) {
- }
- else if (!(R)) {
- R=_f;
- _p_result=_p_f;
- }
- else if (((T0 *)R)==((T0 *)_f)) {
- }
- else {
- /*IF*/if ((rT118has_select((T118*)_p_result,a2))&&(rT118has_select((T118*)_p_f,a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT118start_position((T118*)_p_result));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms487);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a2));
- rT131error(rT118start_position((T118*)_p_f),(T0 *)ms38);
- R=NULL;
- }
- /*FI*//*IF*/if (rT118has_select((T118*)_p_f,a2)) {
- /*IF*/if (XrT62is_merge_with(_f,R,a1)) {
- R=_f;
- _p_result=_p_f;
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(R));
- rT131error(XrT62start_position(_f),(T0 *)ms495);
- R=NULL;
- }
- /*FI*/}
- else if (XrT62is_deferred(_f)) {
- /*IF*/if (XrT62is_merge_with(R,_f,a1)) {
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(R));
- rT131error(XrT62start_position(_f),(T0 *)ms496);
- R=NULL;
- }
- /*FI*/}
- else if (XrT62is_deferred(R)) {
- /*IF*/if (XrT62is_merge_with(_f,R,a1)) {
- R=_f;
- _p_result=_p_f;
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(R));
- rT131error(XrT62start_position(_f),(T0 *)ms497);
- R=NULL;
- }
- /*FI*/}
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT118start_position((T118*)_p_f));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT118start_position((T118*)_p_result));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(R));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(_f));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms498);
- rT45print_as_fatal_error((T45*)oRBC27eh);
- }
- /*FI*/}
- /*FI*/}
- return R;
- }
- T0 * rT131parent_for(T131 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _pbc=NULL;
- T0 * _p=NULL;
- int _i=0;
- _i=1;
- while (!((_i)>(((T130*)(C)->_list)->_upper))) {
- _p=rT130item((T130*)(C)->_list,_i);
- _pbc=XrT58base_class(((T118*)_p)->_type);
- /*IF*/if (((T0 *)_pbc)==((T0 *)a1)) {
- /*IF*/if (!(R)) {
- R=_p;
- }
- else if (((T0 *)R)==((T0 *)_p)) {
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT131fatal_error((T0 *)ms1440);
- }
- /*FI*/}
- else if (rT50is_subclass_of((T50*)_pbc,a1)) {
- R=rT50parent((T50*)_pbc,a1);
- }
- /*FI*/_i=(_i)+(1);
- }
- return R;
- }
- T0 * rT131class_with(/*C*/T0* a1){
- T0 * R=NULL;
- R=(/*UT*/(T52*)oRBC27small_eiffel,
- rT52get_class(a1));
- return R;
- }
- T0 * rT131base_class_name(T131 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT131copy(T131 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT131is_a(T131 *C,T0 * a1){
- int R=0;
- int _i=0;
- _i=1;
- while (!((R)||((_i)>(((T130*)(C)->_list)->_upper)))) {
- R=rT118is_a((T118*)rT130item((T130*)(C)->_list,_i),a1);
- /*IF*/if (!(R)) {
- /*(IRF3*//*UT*/(T45*)oRBC27eh;
- /*(IRF3*/(((T7*)oRBC45explanation)->_count)=(0);
- /*)*/rT47clear((T47*)rT45positions());
- /*)*/}
- /*FI*/_i=(_i)+(1);
- }
- return R;
- }
- int rT131has(T131 *C,T0 * a1){
- int R=0;
- int _i=0;
- _i=1;
- while (!((R)||((_i)>(((T130*)(C)->_list)->_upper)))) {
- R=rT118has((T118*)rT130item((T130*)(C)->_list,_i),a1);
- _i=(_i)+(1);
- }
- return R;
- }
- void rT131make(T131 *C,T0 * a1,T0 * a2,T0 * a3,T0* a4){
- C->_base_class=a1;
- C->_heading_comment=a3;
- C->_start_position=a2;
- C->_list=a4;
- }
- void rT248warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45warning((T45*)oRBC27eh,a2);
- }
- T0 * rT248current_type(T248 *C){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_run_compound)) {
- R=((T140*)(C)->_run_compound)->_current_type;
- }
- /*FI*/return R;
- }
- void rT248fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT248to_runnable(T248 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _e=NULL;
- T0 * _right_run_type=NULL;
- T0 * _left_run_type=NULL;
- /*IF*/if (!((C)->_run_compound)) {
- C->_run_compound=a1;
- _e=XrT68to_runnable((C)->_left_side,rT248current_type(C));
- /*IF*/if (!(_e)) {
- rT248error(XrT68start_position((C)->_left_side),(T0 *)ms1259);
- }
- else {
- C->_left_side=_e;
- }
- /*FI*/_e=XrT68to_runnable((C)->_right_side,rT248current_type(C));
- /*IF*/if (!(_e)) {
- rT248error(XrT68start_position((C)->_right_side),(T0 *)ms1260);
- }
- else {
- C->_right_side=_e;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- /*IF*/if (!(XrT68is_a((C)->_right_side,(C)->_left_side))) {
- rT248error(XrT68start_position((C)->_left_side),(T0 *)ms1262);
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- _left_run_type=XrT58run_type(rT248left_type(C));
- _right_run_type=XrT58run_type(rT248right_type(C));
- /*IF*/if (XrT58is_reference(_left_run_type)) {
- /*IF*/if (XrT58is_reference(_right_run_type)) {
- }
- else {
- XrT58used_as_reference(_right_run_type);
- }
- /*FI*/}
- else {
- /*IF*/if (XrT58is_reference(_right_run_type)) {
- rT248warning(XrT68start_position((C)->_left_side),(T0 *)ms1263);
- }
- else {
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- {T248 *n=((T248*)new(248));
- rT248make(n,(C)->_left_side,(C)->_right_side);
- R=(T0 *)n;}
- R=rT248to_runnable((T248*)R,a1);
- }
- /*FI*/return R;
- }
- T0 * rT248left_type(T248 *C){
- T0 * R=NULL;
- R=XrT68result_type((C)->_left_side);
- return R;
- }
- void rT248error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT248add_comment(T248 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- /*AF*/else {
- {T216 *n=((T216*)new(216));
- rT216make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT248start_position(T248 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_left_side);
- return R;
- }
- int rT248use_current(T248 *C){
- int R=0;
- R=XrT68use_current((C)->_left_side);
- R=(R)||(XrT68use_current((C)->_right_side));
- return R;
- }
- void rT248compile_to_c(T248 *C){
- int _trace_instruction=0;
- T0 * _right_run_type=NULL;
- T0 * _left_run_type=NULL;
- _trace_instruction=!(XrT68c_simple((C)->_right_side));
- /*IF*/if (_trace_instruction) {
- rT40rs_push_position((T40*)oRBC27cpp,'1',rT248start_position(C));
- }
- /*FI*/_left_run_type=XrT58run_type(rT248left_type(C));
- _right_run_type=XrT58run_type(rT248right_type(C));
- /*IF*/if (XrT58is_reference(_left_run_type)) {
- /*IF*/if (XrT58is_reference(_right_run_type)) {
- XrT68compile_to_c((C)->_left_side);
- rT40put_character((T40*)oRBC27cpp,'\75');
- /*IF*/if (XrT68is_current((C)->_right_side)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1326);
- }
- /*FI*//*IF*/if (XrT68is_manifest_string((C)->_right_side)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1327);
- }
- /*FI*/XrT68compile_to_c((C)->_right_side);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1328);
- }
- else {
- XrT68compile_to_c((C)->_left_side);
- rT40put_character((T40*)oRBC27cpp,'\75');
- XrT58expanded_to_reference(_right_run_type);
- rT40put_character((T40*)oRBC27cpp,'\50');
- XrT68compile_to_c((C)->_right_side);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1329);
- }
- /*FI*/}
- else {
- /*IF*/if (XrT58is_reference(_right_run_type)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT68start_position((C)->_left_side));
- rT248fatal_error((T0 *)ms1330);
- }
- else {
- XrT68compile_to_c((C)->_left_side);
- rT40put_character((T40*)oRBC27cpp,'\75');
- XrT68compile_to_c((C)->_right_side);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1331);
- }
- /*FI*/}
- /*FI*//*IF*/if (_trace_instruction) {
- rT40rs_pop_position((T40*)oRBC27cpp);
- }
- /*FI*/}
-